<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="STYLESHEET" href="../../book.css" charset="ISO-8859-1" type="text/css">
<title>Eclipse 4.2 Plug-in Migration FAQ</title>
</head>

<body>

<h1>Eclipse 4.2 Plug-in Migration FAQ</h1>

<ol>
	<li><a href="#architecture">How does Eclipse 4.x differ from 3.x architecturally?</a></li>
	<li><a href="#themeAPI">Does the Platform Theme API still work in 4.2?</a></li>
</ol>

<hr>

<!-- ############################################## -->
<h2><a name="architecture">How does Eclipse 4.x differ from 3.x architecturally?</a></h2>
<p>
The Eclipse SDK 4.2, for the most part, contains all the plug-ins that make up Eclipse 3.7. 
That is, all of Java development tools (JDT) and Plug-in Development Environment (PDE), 
and most of the Platform, are the same bits as in 3.7. What's different is the implementation 
of the Workbench (<tt>org.eclipse.ui.workbench</tt> plugin), and the technologies this new 
implementation is based on. Before the release, the technologies (modeled user interface, 
dependency injection and service-based programming model, CSS-based styling) were 
called 'e4' but we are now referring to them as the Eclipse 4 Application Platform.  
On top of the Eclipse 4 Application Platform, the 4.x Workbench offers an implementation 
of the 3.x Workbench APIs, to provide backwards compatibility for the Eclipse IDE and its plug-ins. 
</p>
<!-- ############################################## -->
<h2><a name="themeAPI">Does the Platform Theme API still work in 4.2?</a></h2>
<p>
The Platform theme API is a general purpose mechanism for plug-ins to declaratively 
contribute colors, fonts, and collections of colors and fonts grouped as <i>themes</i>.
This API continues to function in 4.2, and is still widely used throughout the Eclipse SDK.
This theme API overlaps new functionality in Eclipse 4.x that supports declarative styling
via CSS. In the long term we expect the CSS-based styling system to replace the old
theme API, once the new styling system has the required API and extension points in place.
For now, both systems continue to function independently in Eclipse 4.2.
</p>
<p>
The key difference for 4.2 is that the Platform user interface (<i>Workbench</i>) no longer uses the theme
API to drive its own presentation of tabs, toolbars, and related window trim. Thus
setting the current workbench theme via <tt>IThemeManager#setCurrentTheme</tt>
will not affect the presentation of the workbench itself.
</p>

<!-- ############################################## -->
<!-- <h2><a name="item">Item Title</a></h2>
<p>
</p>
-->

<!-- ############################################## -->

</body>
</html>
